package com.zb.vo;

import com.zb.annotation.NumberPattern;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;

/**
 * @Author WEN
 * @Date 2024/5/24 0024
 **/
@Data
@ApiModel("服务人员银行卡对象")
public class NetworkEmpBandVo {
    @ApiModelProperty(value = "银行卡ID，新增不必传，修改必传")
    private Long id;

    @NotBlank(message = "银行卡名称不能为空")
    @Length(max = 20, message = "银行卡名称限制20个字符")
    @ApiModelProperty(value = "银行卡名称", required = true)
    private String name;

    @NumberPattern(regexp = "^1|2|3|4$", message = "银行卡类型参数不合法")
    @ApiModelProperty(value = "银行卡类型：银行卡类型，1：借记卡; 2：贷记卡（原信用卡大部分为贷记卡）; 3：准贷记卡; 4：预付费卡", example = "1")
    private Integer type;

    @NotBlank(message = "银行卡号不能为空")
    @Length(max = 60, message = "银行卡号限制60个字符")
    @ApiModelProperty(value = "银行卡号", required = true)
    private String code;

    @Length(max = 100, message = "开户行限制100个字符")
    @ApiModelProperty(value = "开户行", required = true)
    private String openingBank;

    @NotBlank(message = "持卡人姓名不能为空")
    @Length(max = 100, message = "持卡人姓名限制100个字符")
    @ApiModelProperty(value = "持卡人姓名", required = true)
    private String cardholderName;

    @ApiModelProperty("开户银行网点")
    private String openAccountBankNetwork;

    @ApiModelProperty("联行行号（跨行业务与行名不能同时为空）")
    private String bankCode;
}
